翻訳と辞書
Words near each other
・ Lazy caterer's sequence
・ Lazy cisticola
・ Lazy Creek Vineyards
・ Lazy Day
・ Lazy Day (Spanky and Our Gang song)
・ Lazy Day (The Moody Blues song)
・ Lazy Days
・ Lazy Days (film)
・ Lazy Days (Gram Parsons song)
・ Lazy deletion
・ Lazy Dog
・ Lazy Dog (bomb)
・ Lazy Dog Cafe
・ Lazy Dragon Con
・ Lazy Eight
Lazy evaluation
・ Lazy eye
・ Lazy Eye (Goo Goo Dolls song)
・ Lazy Eye (Silversun Pickups song)
・ Lazy Farmer (album)
・ Lazy Henry
・ Lazy Highways
・ Lazy inheritance
・ Lazy initialization
・ Lazy jack
・ Lazy Jay Ranch
・ Lazy Jones
・ Lazy Kate
・ Lazy Lake, Florida
・ Lazy Lamhe


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Lazy evaluation : ウィキペディア英語版
Lazy evaluation

In programming language theory, lazy evaluation, or call-by-need is an evaluation strategy which delays the evaluation of an expression until its value is needed (non-strict evaluation) and which also avoids repeated evaluations (sharing). The sharing can reduce the running time of certain functions by an exponential factor over other non-strict evaluation strategies, such as call-by-name.
The benefits of lazy evaluation include:
* Performance increases by avoiding needless calculations, and error conditions in evaluating compound expressions
* The ability to construct potentially infinite data structures
* The ability to define control flow (structures) as abstractions instead of primitives
Lazy evaluation is often combined with memoization, as described in Jon Bentley's ''Writing Efficient Programs''.〔Bentley, Jon Louis. Writing Efficient Programs. Prentice-Hall, 1985. ISBN 978-0139702440〕 After a function's value is computed for that parameter or set of parameters, the result is stored in a lookup table that is indexed by the values of those parameters; the next time the function is called, the table is consulted to determine whether the result for that combination of parameter values is already available. If so, the stored result is simply returned. If not, the function is evaluated and another entry is added to the lookup table for reuse.
Lazy evaluation can lead to reduction in memory footprint, since values are created when needed. However, lazy evaluation is difficult to combine with imperative features such as exception handling and input/output, because the order of operations becomes indeterminate. Lazy evaluation can introduce space leaks.〔Edward Z. Yang. ("Space leak zoo" ).〕
The opposite of lazy evaluation is eager evaluation, sometimes known as strict evaluation. Eager evaluation is the evaluation strategy employed in most programming languages.
== History ==
Lazy evaluation was introduced for lambda calculus by Christopher Wadsworth and for programming languages independently by Peter Henderson & James H. Morris and Daniel P. Friedman & David S. Wise.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Lazy evaluation」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.